package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 卡片管理对象 tb_cards
 * 
 * @author ruoyi
 * @date 2023-03-04
 */
public class TbCards extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 卡片ID */
    private Long id;

    /** iccid */
    @Excel(name = "iccid")
    private String iccid;

    /** 卡号 */
    @Excel(name = "卡号")
    private String cardNumber;

    /** imei */
    @Excel(name = "imei")
    private String imei;

    /** 运营商 */
    @Excel(name = "运营商")
    private String operator;

    /** 卡片状态 */
    @Excel(name = "卡片状态")
    private String cardsStatus;

    /** 实名认证，0表示未认证，1表示已认证 */
    @Excel(name = "实名认证，0表示未认证，1表示已认证")
    private Integer realName;

    /** 认证时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "认证时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date realTime;

    /** 流量用量 */
    @Excel(name = "流量用量")
    private BigDecimal consumption;

    /** 已购套餐 */
    @Excel(name = "已购套餐")
    private String packageName;

    /** 累充金额 */
    @Excel(name = "累充金额")
    private BigDecimal totalMoney;

    /** 开卡时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开卡时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cardOpenTime;

    /** 关联设备 */
    @Excel(name = "关联设备")
    private String equipment;

    /** 负责人 */
    @Excel(name = "负责人")
    private String name;

    /** 经销商名称 */
    @Excel(name = "经销商名称")
    private String businessName;

    /** 所属经销商,0表示未归属经销商 */
    @Excel(name = "所属经销商,0表示未归属经销商")
    private Long userId;

    /** 所属客户，0表示未有用户 */
    @Excel(name = "所属客户，0表示未有用户")
    private Long customerId;

    /** 所属流量池,0表示未进入流量池 */
    @Excel(name = "所属流量池,0表示未进入流量池")
    private Long poolId;

    /** 分配状态，0是未分配，1是已分配 */
    @Excel(name = "分配状态，0是未分配，1是已分配")
    private Integer assignmentStatus;

    /** 销售额 */
    @Excel(name = "销售额")
    private BigDecimal salePrice;

    /** 佣金 */
    @Excel(name = "佣金")
    private BigDecimal commission;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 上次停机时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上次停机时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date shutdownTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setIccid(String iccid) 
    {
        this.iccid = iccid;
    }

    public String getIccid() 
    {
        return iccid;
    }
    public void setCardNumber(String cardNumber) 
    {
        this.cardNumber = cardNumber;
    }

    public String getCardNumber() 
    {
        return cardNumber;
    }
    public void setImei(String imei) 
    {
        this.imei = imei;
    }

    public String getImei() 
    {
        return imei;
    }
    public void setOperator(String operator) 
    {
        this.operator = operator;
    }

    public String getOperator() 
    {
        return operator;
    }
    public void setCardsStatus(String cardsStatus) 
    {
        this.cardsStatus = cardsStatus;
    }

    public String getCardsStatus() 
    {
        return cardsStatus;
    }
    public void setRealName(Integer realName) 
    {
        this.realName = realName;
    }

    public Integer getRealName() 
    {
        return realName;
    }
    public void setRealTime(Date realTime) 
    {
        this.realTime = realTime;
    }

    public Date getRealTime() 
    {
        return realTime;
    }
    public void setConsumption(BigDecimal consumption) 
    {
        this.consumption = consumption;
    }

    public BigDecimal getConsumption() 
    {
        return consumption;
    }
    public void setPackageName(String packageName) 
    {
        this.packageName = packageName;
    }

    public String getPackageName() 
    {
        return packageName;
    }
    public void setTotalMoney(BigDecimal totalMoney) 
    {
        this.totalMoney = totalMoney;
    }

    public BigDecimal getTotalMoney() 
    {
        return totalMoney;
    }
    public void setCardOpenTime(Date cardOpenTime) 
    {
        this.cardOpenTime = cardOpenTime;
    }

    public Date getCardOpenTime() 
    {
        return cardOpenTime;
    }
    public void setEquipment(String equipment) 
    {
        this.equipment = equipment;
    }

    public String getEquipment() 
    {
        return equipment;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setBusinessName(String businessName) 
    {
        this.businessName = businessName;
    }

    public String getBusinessName() 
    {
        return businessName;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }
    public void setPoolId(Long poolId) 
    {
        this.poolId = poolId;
    }

    public Long getPoolId() 
    {
        return poolId;
    }
    public void setAssignmentStatus(Integer assignmentStatus) 
    {
        this.assignmentStatus = assignmentStatus;
    }

    public Integer getAssignmentStatus() 
    {
        return assignmentStatus;
    }
    public void setSalePrice(BigDecimal salePrice) 
    {
        this.salePrice = salePrice;
    }

    public BigDecimal getSalePrice() 
    {
        return salePrice;
    }
    public void setCommission(BigDecimal commission) 
    {
        this.commission = commission;
    }

    public BigDecimal getCommission() 
    {
        return commission;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }
    public void setShutdownTime(Date shutdownTime) 
    {
        this.shutdownTime = shutdownTime;
    }

    public Date getShutdownTime() 
    {
        return shutdownTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("iccid", getIccid())
            .append("cardNumber", getCardNumber())
            .append("imei", getImei())
            .append("operator", getOperator())
            .append("cardsStatus", getCardsStatus())
            .append("realName", getRealName())
            .append("realTime", getRealTime())
            .append("consumption", getConsumption())
            .append("packageName", getPackageName())
            .append("totalMoney", getTotalMoney())
            .append("cardOpenTime", getCardOpenTime())
            .append("equipment", getEquipment())
            .append("name", getName())
            .append("businessName", getBusinessName())
            .append("userId", getUserId())
            .append("customerId", getCustomerId())
            .append("poolId", getPoolId())
            .append("assignmentStatus", getAssignmentStatus())
            .append("salePrice", getSalePrice())
            .append("commission", getCommission())
            .append("remarks", getRemarks())
            .append("shutdownTime", getShutdownTime())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
